package com.efuture.chapterfour

/* @Description: Kotlin语言的List的创建与元素获取
 * @Auther: zhaoshanshan
 * @Date: 2022/03/06/5:21 下午
 */
fun main() {
    //List 创建 该集合不可变
    val list = listOf("zhapshanshan", "liuyifan", "tongshuai", "chenhang");
    //List集合元素获取
    //普通方式
    println(list[0])
    println(list[1])
    println(list[2])
    println(list[3])
    //println(list[4]) //java.lang.ArrayIndexOutOfBoundsException 会报下标越界异常
    println("=================")
    //Kotlin的第一种方式 可以处理下标越界异常
    println(list.getOrElse(0){""})
    println(list.getOrElse(1){""})
    println(list.getOrElse(2){""})
    println(list.getOrElse(3){""})
    println(list.getOrElse(4){"越界"})//即使越界了 也不会抛出异常 会返回lambda表达式的值
    println("=================")
    //Kotlin的第二种方式 可以处理下标越界异常
    //getOrNull 有值返回值 没有值返回null
    println(list.getOrNull(0))
    println(list.getOrNull(1))
    println(list.getOrNull(2))
    println(list.getOrNull(3))
    println(list.getOrNull(4))// 下标越界 返回null

    //获取集合元素的时候 我们尽量使用KT提供的getOrElse方法或者getOrNull 这样就可以避免下标越界异常了
}